#ifndef STATES_HPP_INCLUDE
#define  STATES_HPP_INCLUDE

#include "image.h"
#include <vector>

class States
{
public:
	enum Mouse_Event{L_Button_Down, L_Button_Up, R_Button_Down, R_Button_Up, N_Button};
	enum Rect_Event{L_Move, R_Move, U_Move, D_Move, L_Size, S_Size, R_Size, N_Size, N_Object};
	States();

	void Default();
	void Stop();
	void Pause();
	void PreFrame();
	void OnMouse(Mouse_Event event, int x, int y);
	void OnKey(Rect_Event event);

	// data
	bool RunningFlag;
	bool PausingFlag;
	bool PreFrameFlag;

	Rect_Event C_event;
	bool EventChangedFlag;

	I_Point origin;
	int ObjectFlag;

	std::vector<I_Rect> selection;
	std::vector<int> TrackObject;
private:
	bool SelectObjectFlag;

};
#endif // STATES_HPP_INCLUDE
